var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
/**
 * Eval script fragment
 * @return String
 */
String.prototype.evalScript = function()
{
    return (this.match(new RegExp(tagScript, 'img')) || []).evalScript();
};
/**
 * strip script fragment
 * @return String
 */
String.prototype.stripScript = function()
{
    return this.replace(new RegExp(tagScript, 'img'), '');
};
/**
 * extract script fragment
 * @return String
 */
String.prototype.extractScript = function(){
    var matchAll = new RegExp(tagScript, 'img');
    return (this.match(matchAll) || []);
};
/**
 * Eval scripts
 * @return String
 */
Array.prototype.evalScript = function(extracted){
    var s=this.map(function(sr){
        var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1];
        if(window.execScript){
            window.execScript(sc);
        }
        else
        {
            window.setTimeout(sc,0);
        }
    });
    return true;
};
/**
 * Map array elements
 * @param {Function} fun
 * @return Function
 */
Array.prototype.map = function(fun)
{
    if(typeof fun!=="function"){
        return false;
    }
    var i = 0, l = this.length;
    for(i=0;i<l;i++)
    {
        fun(this[i]);
    }
    return true;
};

function cargarAjaxConFunciones(opt, div){
    var xmlhttp;
    xmlhttp = ajax();
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4){
            var scs=xmlhttp.responseText.extractScript();    //capturamos los scripts
            document.getElementById(div).innerHTML=xmlhttp.responseText;
            scs.evalScript();
        }
    }
    xmlhttp.open("GET",opt,true);
    xmlhttp.send();
}
 